#define VERTS_NUM 100

enum RRPrimitiveType {RR_LINE, RR_LINE_STRIP, RR_LINE_LOOP, RR_TRIANGLE, RR_POLYGON};

class RRVertexPoint
{
 public:
  float x;
  float y;
  float color[4];
};

class RRVertexPrim
{
 private:
  RRPrimitiveType t;
  int verts_index;
  RRVertexPoint verts[VERTS_NUM];
  float c[4];

 public:  
  explicit RRVertexPrim();
  void rrBegin(RRPrimitiveType type);
  void rrEnd();
  void rrSetVert2f(float x, float y);
  void rrColor4f(float a, float r, float g, float b);
  RRVertexPoint rrGetPoint(int index);
  RRPrimitiveType rrGetType();
  int rrGetVertsNum();
};
